/* Funciones y eventos que se utilizan directamente en los XSL de la aplicacion */


/* Funciones de Eventos del menu */

/** Función que lanza el evento de pliegue/despliegue de las cajas de los menus.
 *  idContenido = id del bloque que se va a plegar/desplegar
 *  idSlideCaja = id del elemento que lanzará el evento de slide, en concreto el de la caja
 *  idSlideFlecha = id del elemento que lanzará el evento de slide, en concreto el de la fecha
 *  claseActivar = nombre de la clase del elemento que contiene la flecha en el momento que el slide se abrirá
 *  claseDesactivar = nombre de la clase del elemento que contiene la flecha en el momento que el slide se cerrará
 *  oculto = parametro que indica si el slide empieza o no oculto
 *  altura = parametro que indica en pixeles la altura que debe crecer el slide en el caso que haya problemas con el offsetHeight.
 */
function cargarSlideMenu(idContenido, idSlideCaja, idSlideFlecha, claseActivar, claseDesactivar, oculto, altura) {
	
	window.addEvent('domready', function() {
		var mySlide = new Fx.Slide(idContenido, {
			onComplete: function() {
				if(this.wrapper.offsetHeight != 0) {
					var height = this.wrapper.height + altura;
					this.wrapper.setStyle('height', height);
				}	
			}
		});
		
		if(oculto) {
			mySlide.hide();
		}
	
		$(idSlideCaja).addEvent('click', function(e) {
			e.stop();
			mySlide.toggle();
			if(document.getElementById(idSlideFlecha).className == claseDesactivar){
				document.getElementById(idSlideFlecha).className = claseActivar;
			}
			else if(document.getElementById(idSlideFlecha).className == claseActivar){
				document.getElementById(idSlideFlecha).className = claseDesactivar;
			}
		});

		$(idSlideFlecha).addEvent('click', function(e) {
			e.stop();
			mySlide.toggle();
			if(this.className == claseDesactivar) {
				this.className = claseActivar;
			}
			else if(this.className == claseActivar) {
				this.className = claseDesactivar;
			}
		});
		
	});
}

/** Función que lanza el evento de pliegue/despliegue de elementos anidados dentro del menu.
 *  idContenido = id del bloque que se va a plegar/desplegar
 *  idSlide = id del elemento que lanzará el evento de slide
 *  claseBloqueAbierto = nombre de la clase del elemento que contiene la flecha en el momento que el slide se abrirá
 *  claseBloqueCerrado = nombre de la clase del elemento que contiene la flecha en el momento que el slide se cerrará
 *  oculto = parametro que indica si el slide empieza o no oculto
 *  altura = parametro que indica en pixeles la altura que debe crecer el slide en el caso que haya problemas con el offsetHeight.
 */
function cargarSlideMenuSeccion(idContenido,idSlide, claseBloqueAbierto, claseBloqueCerrado, oculto, altura) {

	window.addEvent('domready', function() {
		var mySlide = new Fx.Slide(idContenido, {
			onComplete: function() {
				if(this.wrapper.offsetHeight != 0) {
					var height = this.wrapper.height + altura;
					this.wrapper.setStyle('height', height);
				}	
			}
		});

		if(oculto) {
			mySlide.hide();
		}
		
		$(idSlide).addEvent('click', function(e) {
			e.stop();
			mySlide.toggle();
			var cajaContenido = document.getElementById(idContenido);
			if(cajaContenido.parentNode.parentNode.className == claseBloqueCerrado) {
				cajaContenido.parentNode.parentNode.className = claseBloqueAbierto;
			} else {
				cajaContenido.parentNode.parentNode.className = claseBloqueCerrado;
			}
		});

	});
}

/* Fin Funciones de Eventos del menu */



/* Funciones del formulario directorio */

function cargaDependenciasDelegacion(valorOpcion){
	var selectDependencia = document.getElementById('dependencia');
	var listaDependencia = mapaDependencias[valorOpcion];
	
	var tam = selectDependencia.options.length;
	for(var i = 0; i < tam; i++){
		selectDependencia.options[0] = null;
	}
	
	if(valorOpcion == "0"){
		var nuevaOpcion = new Option();
		nuevaOpcion.text = "Seleccione un organismo";
		nuevaOpcion.value = 0;
		selectDependencia.options[0] = nuevaOpcion;
	}
	else{
		tam = listaDependencia.length;
		var nuevaOpcion = new Option();
		nuevaOpcion.text = "Todos";
		nuevaOpcion.value = 0;
		selectDependencia.options[0] = nuevaOpcion;
		for(var i= 0; i < tam; i++){
			var idDependencia = '';
			idDependencia = listaDependencia[i][0];
			var descripcion = listaDependencia[i][1];
			
			var nuevaOpcion = new Option();
			nuevaOpcion.text = descripcion;
			nuevaOpcion.value = idDependencia;
			selectDependencia.options[i+1] = nuevaOpcion;
		}
	}
}
	
function muestraOcultaCapa(){
	var capa = document.getElementById('cuadroBuscadorAvanzado');
	if(capa.style.display == 'block'){
		capa.style.display = 'none';
		// Cuando ocultamos la capa dejamos los valores de la busqueda como estaban al principio.
		resetearValoresSelect();	
	}else{
		capa.style.display = 'block';
	}
}


function resetearCheckbox(){
	document.getElementById('checkboxAvanzado').checked = false;
}	
		
/* Fin Funciones del formulario directorio */
